package la.iok.hzsvn.lewin.movie.service;

import la.iok.hzsvn.lewin.movie.core.Token;
import la.iok.hzsvn.lewin.movie.entity.MovieAssistFile;
import la.iok.hzsvn.share.annotations.NotNull;
import la.iok.hzsvn.share.annotations.Nullable;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

public interface MovieAssistFileService extends MovieFileService<MovieAssistFile> {
    /**
     * 上传剧本手册文件
     * @param token 操作用户
     * @param movieId 剧本id
     * @param file 文件
     */
    void uploadAssist(@NotNull Token token, @Nullable Long movieId, @NotNull MultipartFile file, @NotNull String path);

    /**
     * 清除剧本手册信息
     * @param token 操作用户
     * @param movieId 剧本id
     */
    void clearAssist(@NotNull Token token, @Nullable Long movieId);

    /**
     * 下载剧本手册文件
     * @param token 操作用户
     * @param response 客户端响应
     * @param movieId 剧本id
     */
    void downloadFile(@NotNull Token token, @NotNull HttpServletResponse response, @NotNull Long movieId);

    /**
     * 下载剧本手册文件
     * @param response 客户端响应
     * @param id 封面文件id
     * @param movieName 剧本名称
     */
    void downloadFile(@NotNull HttpServletResponse response, @NotNull Long id,@NotNull String movieName);
}
